#!/usr/bin/
#-*- coding: utf-8 -*-
#File: MooControllerPrin.py
#Author: Iván Viguera Cáceres
#Last revision: 25/04/2011
#Description:
#   Define controller calendar view class.

# Importamos el módulo pygtk y le indicamos que use la versión 2
import pygtk
pygtk.require("2.0")

# Luego importamos el módulo de gtk y el gtk.glade, este ultimo que nos sirve
# para poder llamar/utilizar al archivo de glade
import gtk
import gtk.glade

# Creamos la clase de la ventana principal del programa
class MooControllerCalendar ():
    def __init__(self, delegate, *args):
        self.delegate = delegate
        self.name = args[0]
        
        # Le decimos a nuestro programa que archivo de glade usar. 
        #Si no esta en el mismo directorio del
        # script habría que indicarle la ruta completa en donde se encuentra
        self.widgets = gtk.glade.XML("/home/ivan/workspace/moocrawler/src/MooView/calendar.glade")
        
        # Creamos un pequeño diccionario que contiene las señales definidas en
        # glade y su respectivo método (o llamada)
        signals = {"on_calendar_day_selected" : self.on_calendar_day_selected, 
                   "gtk_main_quit" : self.close }
    
        # Luego se auto-conectan las señales.
        self.widgets.signal_autoconnect(signals)
        # Ahora obtenemos del archivo glade los widgets que vamos a utilizar
        self.calendar = self.widgets.get_widget("calendar")
        self.wCalendar = self.widgets.get_widget('wCalendar')
        
    # Se definen los métodos de los eventos.
    
    def on_calendar_day_selected(self, widget):
        self.delegate.connect_event_view(self.name,self.delegate.init_view)
        self.delegate.signal(self.name, ['task', self.calendar.get_date()])
        
    def start(self):
        gtk.main()
        
    def close(self, widget = None):
        gtk.main_quit()
        self.delegate.close_views()
        print '52'
        exit()
        
        
# Para terminar iniciamos el programa
if __name__ == "__main__":
    pass